# This is a script for directing QTVR movies.
#
# This script format is under development: any comments are welcome!
#
# Tim Monroe
# (monroe@apple.com)
# QuickTime VR Engineering/Apple Computer, Inc.
# 07 March 1997 et seqq.
#
# By putting information into this file, you can direct the embedding
# of sounds, pictures, movies, 3D objects, etc. in a QuickTime VR movie.
#
# Here are some points to keep in mind:
#
#  Each command must occupy one line.
#  Any line beginning with '#' is a comment and is ignored.
#  Command parameters must be separated by any amount of white space.
#  All angles are specified in degrees.
#  Some commands (like AtClickHS) take a command line as a parameter;
#	the parameter command line must have its white space replaced by '#'.
#	For example: AtClickHS  1  50  0  SetBarState#2#0
#	which toggles the controller bar state whenever hot spot 50 is clicked in node 1.
#	Moreover, if the parameter command line itself takes a command as a
#	parameter, its white space must be replaced by '%'. 
#  [This space for rent.]
#  
#
# Here are the currently supported cast members:
#
# OpenQTVRMovieFile		Open and use the specified QTVR movie file. 
# SetBarState			Show or hide the controller bar.
# SetButtonState		Show or hide a button in the controller bar.
# SetResizeState		Enable or disable window resizing.
# SetWindowSize			Set the current size of a movie window.
# SetMaxWindowSize		Set the maximum size of a movie window.
# ReplaceCursor			Replace one cursor by another.
# SetHotSpotIDCursors	Replace the triad of cursors for a hot spot specified by its ID.
# SetHotSpotTypeCursors	Replace the triad of cursors for all hot spots of a specified type.
# GoToNodeID			Go to a node.
# ShowDefaultView		Display the default view of the current node.
# OpenResourceFile		Put the named resource file in the resource chain.
# SetCorrection			Set the imaging correction mode.
# SetQuality			Set the image quality.
# SetSwingSpeed			Set the speed of swing transitions for the current node.
# SetSwingDirection		Set the direction of swing transitions for the current node.
# SetSwingState			Enable or disable swing transitions for the current node.
# SetPanAngle			Set the pan angle.
# SetTiltAngle			Set the tilt angle.
# SetPanTiltZoom		Set the pan, tilt, and zoom angles (at the same time).
# SetFieldOfView		Set the field of view.
# SetViewCenter			Set the view center. [Object nodes only.]
# SetPanLimits			Set the current pan angle limits.
# SetTiltLimits			Set the current tilt angle limits.
# SetZoomLimits			Set the current zoom angle limits.
# SetHotSpotState		Enable or disable a hot spot.
# SetTranslateState		Enable or disable object translation. [Object nodes only.]
# SetClickRadius		Set the radius within which clicks occur.
# SetClickTimeout		Set the timeout for clicks.
# SetPanTiltSpeed		Set the pan and tilt speed.
# SetZoomSpeed			Set the zoom speed.
# SetMouseScale			Set the mouse-motion scale. [Object nodes only.]
# SetFrameRate			Set the frame rate. [Object nodes only.]
# SetViewRate			Set the view rate. [Object nodes only.]
# SetViewTime			Set the current view time. [Object nodes only.]
# SetViewState			Set the current view state. [Object nodes only.]
# SetAnimationState		Set the animation state. [Object nodes only.]
# SetControlState		Set the control state. [Object nodes only.]
# SetFrameAnimState		Enable or disable frame animation. [Object nodes only.]
# SetViewAnimState		Enable or disable view animation. [Object nodes only.]
# SetQTVRVisState		Enable or disable QTVR movie visibility.
# SetCachePrefs			Set the back buffer resolution, depth, and size.
# SetMovieVolume		Set the volume of a QTVR sound track.
# SetSoundVolume		Set the volume of a sound (a sound resource or a sound movie).
# SetSoundBalance		Set the balance of a sound (a sound resource or a sound movie).
# PlaySceneSound		Play a movie-wide ambient resource sound asynchronously.
# PlaySceneQTMidi		Play a movie-wide ambient QuickTime sound-only file asynchronously.
# PlayNodeQTMidi		Play a QuickTime sound-only file in a particular node.
# PlayNodeSound			Play a sound in a particular node.
# PlayNode3DSound		Play a localized sound in a particular node.
# HotSpotQTMidi			Play a QuickTime sound-only file when a hot spot is clicked.
# HotSpotSound			Play a sound when a particular hot spot is triggered.
# HotSpot3DSound		Play a sound at a specific location when a particular hot spot is triggered.
# HotSpotMovie			Play a movie when a particular hot spot is triggered.
# TriggerHotSpot		Trigger a particular hot spot.
# PlayQTMidi			Play a QuickTime sound-only file immediately.
# PlaySndResource		Play a sound resource asynchronously.
# Play3DSndResource		Play a sound resource at a specific location in a panorama.
# Play3DSndResourceAnglePlay a sound resource at a specific location in a panorama, specified using angles.
# ShowPicture			Overlay a PICT resource.
# ShowNodePicture		Overlay a PICT resource in a particular node.
# AtTime				Execute a command at a specified time.
# AtAppLaunch			Execute a command when the application is launched.
# AtAppQuit				Execute a command when the application is quit.
# AtMouseOverHSID		Execute a command when the mouse is over a hot spot, targeted by ID.
# AtMouseOverHSType		Execute a command when the mouse is over a hot spot, targeted by type.
# AtClickHS				Execute a command when the mouse is clicked on a hot spot.
# AtNodeEntry			Execute a command when the specified node is entered.
# AtNodeExit			Execute a command when the specified node is exited.
# AtPanAngle			Execute a command at the specified pan angle.
# AtTiltAngle			Execute a command at the specified tilt angle.
# AtZoomAngle			Execute a command at the specified field of view angle.
# DoBoth				Execute both of the specified commands.
# DoNothing				Do nothing. (Useful if an "At" command has side effects.)
# Beep					Play the system alert sound.
# PlayMovie				Play a QuickTime movie at a particular location in a panorama.
# PlayTransMovie		Play a QuickTime movie as a transition between nodes.
# PlayTransEffect		Play a QuickTime video effect as a transition between nodes.
# MoveScreen			Move the QuickTime movie screen center.
# ProcessScript			Open and process a script file.
# CreateBox				Create a box.
# CreateCone			Create a cone.
# CreateCylinder		Create a cylinder.
# CreateEllipsoid		Create an ellipsoid.
# CreateTorus			Create a torus.
# CreateRectangle		Create a rectangle.
# Open3DMFFile			Load a 3DMF file.
# Set3DObjColor			Set the color of a 3D object.
# Set3DObjTransp		Set the transparency level of a 3D object.
# Set3DObjInterp		Set the interpolation style of a 3D object.
# Set3DObjBackface		Set the backfacing style of a 3D object.
# Set3DObjFill			Set the fill style of a 3D object.
# Set3DObjLocation		Set the location of a 3D object.
# Set3DObjRotation		Set the rotation of a 3D object.
# Set3DObjRotState		Set the rotation of a 3D object on or off.
# Set3DObjVisState		Set the visibility of a 3D object on or off.
# Set3DObjTexture		Set the texture for a 3D object.
# Set3DSndLocation		Set the location of a localized sound.
# SetVariable			Set the value of a variable.
# If					Test the value of a variable and execute a command if necessary.
#
# Yet to be implemented:
#
# SetResourceDir	Set the directory within which we look for resource files.
# SetMovieDir		Set the directory within which we look for movie files.
# Set3DMFDir		Set the directory within which we look for 3DMF files.
# SetScriptDir		Set the directory within which we look for script files.
# EmbedVRObject		Embed a QTVR object movie in a panorama.
# AtConstraint		Execute a command when a viewing constraint is reached.
# AtMouseClick		Execute a command when the mouse is clicked.
# AtClickRect		Execute a command when the mouse is clicked in a rectangle.
#
#
# OpenQTVRMovieFile
# Use the specified QTVR movie file. A command line has this format: 
# [Options are not yet defined.]
#
# OpenQTVRMovieFile		Options		Name
#------------------		-------	    ----
#OpenQTVRMovieFile		0			WWDC#Demo
#
#
# SetBarState
# Show or hide the controller bar. A command line has this format:
# [State: 0 == hide; 1 == show; 2 == toggle current state]
# [Options are not yet defined.]
#
# SetBarState	State	Options
#------------   -----   -------
SetBarState		1		0
#
#
# SetButtonState
# Show or hide a button (or display text) in the controller bar. A command line has this format:
# [Button: 
#		0 == the QuickTime step buttons (not supported by QTVR);
#		1 == the speaker button;
#		2 == the go-back button;
#		3 == the zoom buttons;
#		4 == the show hot spots button;
#		5 == the translate button;
#		6 == the help text;
#		7 == the hot spot names]
# [State: 0 == hide; 1 == show; 2 == toggle current state]
# [Options are not yet defined.]
#
# SetButtonState	Button	State	Options
#------------   	------	-----   -------
#SetButtonState		1		0		0
#
#
# SetResizeState
# Enable or disable window resizing. A command line has this format:
# [State: 0 == disable; 1 == enable; 2 == toggle current state]
# [Options are not yet defined.]
#
# SetResizeState	State	Options
#---------------	-----   -------
#SetResizeState		0		0
#
#
# SetWindowSize
# Set the current size of a movie window. A command line has this format:
# [Height and width are in pixels.]
# [Options are not yet defined.]
#
# SetWindowSize			Height	Width		Options
#--------------			------	-----		-------
#SetWindowSize			100		200			0
#
#
# SetMaxWindowSize
# Set the maximum size of a movie window. A command line has this format:
# [Height and width are in pixels.]
# [Options are not yet defined.]
#
# SetMaxWindowSize		Height	Width		Options
#-----------------		------	-----		-------
#SetMaxWindowSize		0		0			0
#
#
# ReplaceCursor
# Replace one cursor by another. A command line has this format:
# [Options == type of cursor to replace:
#		0 == restore default cursor;
#		1 == black and white cursor;
#		2 == color cursor]
#
# ReplaceCursor		PrevID		NewID		Options
#----------- 		------		-----	  	-------
#ReplaceCursor		-19687		19687		0
#
#
# SetHotSpotIDCursors
# Replace the triad of cursors for a hot spot specified by its ID. A command line has this format:
# [Options are not yet defined.]
#
# SetHotSpotIDCursors		NodeID		HotSpotID		Crsr1ID		Crsr2ID		Crsr3ID		Options
#-------------------- 		------		---------		-------	  	-------		-------		-------
#SetHotSpotIDCursors		-1			50				128			129			130			0
#
#
# SetHotSpotTypeCursors
# Replace the triad of cursors for all hot spots of a specified type. A command line has this format:
# [Options are not yet defined.]
#
# SetHotSpotTypeCursors		NodeID		HotSpotType		Crsr1ID		Crsr2ID		Crsr3ID		Options
#---------------------- 	------		-----------		-------	  	-------		-------		-------
#SetHotSpotTypeCursors		-1			undf			128			129			130			0
#
#
# GoToNodeID
# Go to the specified node. A command line has this format:
# [Options are not yet defined.]
#
# GoToNodeID	NodeID		Options
#----------- 	------  	-------
#GoToNodeID		1			0
#
#
# ShowDefaultView
# Display the default view of the current node. A command line has this format:
# [Options are not yet defined.]
#
# ShowDefaultView	Options
#----------------	-------
#ShowDefaultView	0
#
#
# OpenResourceFile
# Use the specified resource file. A command line has this format: 
# [Options are not yet defined.]
#
# OpenResourceFile	Options		Name
#-----------------	-------	    ----
OpenResourceFile	0			myPICTResources
OpenResourceFile	0			mySoundResources
OpenResourceFile	0			StudioSounds
#
#
# SetCorrection
# Use the specified imaging correction mode. A command line has this format: 
# [Mode is the correction mode (see VRPWQTVR2.0 p. 1-41).]
# [Options is the imaging mode (see VRPWQTVR2.0 p. 1-42).]
#
# SetCorrection		Mode	Options
#--------------		----	-------
#SetCorrection		2		100
#
#
# SetQuality
# Use the specified image quality. A command line has this format: 
# [Quality is the image quality (see VRPWQTVR2.0 p. 1-44):]
# [high == 1023; normal == 512; low == 0]
# [Options is the imaging mode (see VRPWQTVR2.0 p. 1-42).]
#
# SetQuality		Quality		Options
#-----------		-------		-------
SetQuality			1023			100
#
#
# SetSwingSpeed
# Use the specified swing transition speed. A command line has this format: 
# [Speed is the swing speed: 1 == slow; 10 == fast]
# [Options are not yet defined.]
#
# SetSwingSpeed		Speed		Options
#--------------		-------		-------
SetSwingSpeed		5			0
#
#
# SetSwingDirection
# Use the specified swing transition direction. A command line has this format: 
# [Dir is the swing direction (see VRPWQTVR2.0 p. 1-58).]
# [Options are not yet defined.]
#
# SetSwingDirection		Dir		Options
#------------------		---		-------
#SetSwingDirection		0		0
#
#
# SetSwingState
# Enable or disable swing transitions for the current node. A command line has this format: 
# [State: 0 == disable; 1 == enable]
# [Options are not yet defined.]
#
# SetSwingState		State	Options
#--------------		---		-------
#SetSwingState		1		0
#
#
# SetPanAngle
# Set the pan angle. A command line has this format: 
# [Options: 0 == angle is absolute; 1 == angle is relative]
#
# SetPanAngle		Pan		Options
#--------------		----	-------
#SetPanAngle		90.0	0
#
#
# SetTiltAngle
# Set the tilt angle. A command line has this format: 
# [Options: 0 == angle is absolute; 1 == angle is relative]
#
# SetTiltAngle		Tilt	Options
#--------------		----	-------
#SetTiltAngle		0.0		0
#
#
# SetPanTiltZoom
# Set the pan, tilt and zoom angles. A command line has this format: 
# [Mode: 0 == jump transition; 1 == swing transition; 2 == blocking swing transition]
# [Options: 0 == angles are absolute; 1 == angles are relative]
#
# SetPanTiltZoom	Pan		Tilt	Zoom	Mode	Options
#--------------		---		----	----	----	-------
#SetPanTiltZoom		0.0		0.0		0.0		0		0
#
#
# SetFieldOfView
# Set the field of view angle. A command line has this format: 
# [Options: 0 == angle is absolute; 1 == angle is relative]
#
# SetFieldOfView	FOV		Options
#--------------		----	-------
#SetFieldOfView		30.0	0
#
#
# SetViewCenter
# Set the view center. A command line has this format: 
# [Options are not yet defined.]
#
# SetViewCenter		xCoord	yCoord	Options
#-------------		------	------	-------
#SetViewCenter
#
#
# SetPanLimits
# Set the current pan angle constraints. A command line has this format: 
# [Options: 0 == angle is absolute; 1 == angle is relative]
#
# SetPanLimits		Min		Max		Options
#-------------		---		---		-------
#SetPanLimits		0.0		180.0	0
#SetPanLimits		0.0		90.0	1
#
#
# SetTiltLimits
# Set the current tilt angle constraints. A command line has this format: 
# [Options: 0 == angle is absolute; 1 == angle is relative]
#
# SetTiltLimits		Min		Max		Options
#-------------		---		---		-------
#SetTiltLimits		-25.0	25.0	0
#
#
# SetZoomLimits
# Set the current filed of view angle constraints. A command line has this format: 
# [Options: 0 == angle is absolute; 1 == angle is relative]
#
# SetZoomLimits		Min		Max		Options
#-------------		---		---		-------
#SetZoomLimits		1.0		90.0	0
#
#
# SetHotSpotState
# Set the state of a hot spot. A command line has this format:
# [State: 0 == disable; 1 == enable]
# [Options are the hot spot enable flags (see VRPWQTVR2.0 p. 1-50).]
#
# SetHotSpotState	HotSpotID	State	Options
#----------------   ---------	-----   -------
#SetHotSpotState		50			1		0
#
#
# SetTranslateState
# Set the state of object translation. A command line has this format:
# [State: 0 == disable; 1 == enable]
# [Options are not yet defined.]
#
# SetTranslateState		State	Options
#------------------ 	-----   -------
#SetTranslateState		0		0
#
#
# SetClickRadius
# Set the radius within which clicks occur (the mouse-click hysteresis). A command line has this format:
# [Options are not yet defined.]
#
# SetClickRadius	Radius		Options
#---------------    ------		-------
#SetClickRadius		2			0
#
#
# SetClickTimeout
# Set the timeout for clicks. A command line has this format:
# [Options are not yet defined.]
#
# SetClickTimeout	Ticks		Options
#----------------   ------		-------
#SetClickTimeout		10			0
#
#
# SetPanTiltSpeed
# Set the pan and tilt speed. A command line has this format:
# [Options are not yet defined.]
#
# SetPanTiltSpeed	Speed		Options
#----------------   -----		-------
#SetPanTiltSpeed		5			0
#
#
# SetZoomSpeed
# Set the zoom speed. A command line has this format:
# [Options are not yet defined.]
#
# SetZoomSpeed	Speed		Options
#-------------  -----		-------
#SetZoomSpeed	10			0
#
#
# SetMouseScale
# Set the mouse-motion scale. A command line has this format:
# [Options are not yet defined.]
#
# SetMouseScale		Scale		Options
#--------------  	-----		-------
#SetMouseScale		90.0		0
#
#
# SetFrameRate
# Set the frame rate of an object node. A command line has this format:
# [Options: 0 == rate is absolute; 1 == rate is relative]
#
# SetFrameRate		Rate		Options
#-------------  	----		-------
#SetFrameRate		50.0		0
#
#
# SetViewRate
# Set the view rate of an object node. A command line has this format:
# [Options: 0 == rate is absolute; 1 == rate is relative]
#
# SetViewRate		Rate		Options
#------------  		----		-------
#SetViewRate		50.0		0
#
#
# SetViewTime
# Set the current view time of an object node. A command line has this format:
# [Options: 0 == time is absolute; 1 == time is relative]
#
# SetViewTime		Time		Options
#------------  		----		-------
#SetViewTime		50.0		0
#
#
# SetViewState
# Set the current view state of an object node. A command line has this format:
# [Options are not yet defined.]
#
# SetViewState		Type		State		Options
#-------------  	----		-----		-------
#SetViewState		0			0			0
#
#
# SetAnimationState
# Set the animation state of an object node. A command line has this format:
# [Options are not yet defined.]
#
# SetAnimationState		Setting		State		Options
#------------------  	-------		-----		-------
#SetAnimationState		0			0			0
#
#
# SetControlState
# Set the control state of an object node. A command line has this format:
# [Options are not yet defined.]
#
# SetControlState		Setting		State		Options
#----------------	  	-------		-----		-------
#SetControlState		0			0			0
#
#
# SetFrameAnimState
# Enable or disable frame animation in an object node. A command line has this format:
# [Options are not yet defined.]
#
# SetFrameAnimState		State		Options
#------------------	  	-----		-------
#SetFrameAnimState		0			0
#
#
# SetViewAnimState
# Enable or disable view animation in an object node. A command line has this format:
# [Options are not yet defined.]
#
# SetViewAnimState		State		Options
#------------------	  	-----		-------
#SetViewAnimState		0			0
#
#
# SetQTVRVisState
# Enable or disable QTVR movie visibility. A command line has this format:
# [Options are not yet defined.]
#
# SetQTVRVisState		State		Options
#------------------	  	-----		-------
#SetQTVRVisState		0			0
#
#
# SetCachePrefs
# Set the back buffer resolution, depth, and size. A command line has this format:
# [Options are not yet defined.]
#
# SetCachePrefs		Resolution		Depth		Size		Options
#--------------  	----------		-----		----		-------
#SetCachePrefs		1				32			1			0
#
#
# SetMovieVolume
# Set the volume of a QTVR sound track. A command line has this format:
# [Options are not yet defined.]
#
# SetMovieVolume	Volume		Options
#--------------- 	------		-------
#SetMovieVolume		0			0
#
#
# SetSoundVolume
# Set the volume of a sound. A command line has this format:
# [Volume: an integer between 0 and 255]
# [Options are not yet defined.]
#
# SetSoundVolume	ObjID		Volume		Options
#--------------- 	-----		------		-------
#SetSoundVolume		100			0			0
#
#
# SetSoundBalance
# Set the balance of a sound. A command line has this format:
# [Options are not yet defined.]
#
# SetSoundBalance	ObjID		Left%		Right%		Options
#--------------- 	-----		-----		------		-------
#SetSoundBalance	100			0			0			0
#
#
# PlaySceneSound
# Play a movie-wide ambient resource sound asynchronously.
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlaySceneSound		ResID	ObjID	Mode	Fade	Options
#---------------		-----	-----	----	----	-------
PlaySceneSound			25876	144		1		0		0
#
#
# PlaySceneQTMidi
# Play a movie-wide ambient QuickTime sound-only file asynchronously.
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds? NOT YET SUPPORTED]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlaySceneQTMidi	ObjID	Local	xCoord	yCoord	zCoord	ProjAngle	Mode	Fade	Options		File
#----------------	-----	-----	------	------	------	---------	----	----	-------		----
#PlaySceneQTMidi	144		1		1.0		0.0		0.0		180.0		0		0		2			ROCKET.MOV
#
#
# PlayNodeQTMidi
# Play a QuickTime sound-only file in a particular node. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds? NOT YET SUPPORTED]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlayNodeQTMidi	NodeID	ObjID	MaxTimes	Local	xCoord	yCoord	zCoord	ProjAngle	Mode	Fade	Options		File
#---------------	------  -----	--------	-----	------	------	------	---------	----	----	-------		----
#PlayNodeQTMidi		12		144		-1			1		1.0		0.0		0.0		180.0		0		0		2			ROCKET.MOV
#
#
# PlayNodeSound
# Play a sound in a particular node. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing);
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore]
#
# PlayNodeSound		ResID	NodeID	ObjID	MaxTimes	Mode	Fade	Options
#--------------   	-----   ------  -----	--------	----	----	-------
#PlayNodeSound		128		1		100		-1			1		1		0
#
#
# PlayNode3DSound
# Play a 3D sound in a particular node. A command line has this format:
# [SMode: 	0 == unfiltered; 1 == localized; 2 == ambient; 3 == binaural]
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing);
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlayNode3DSound	ResID	NodeID	ObjID	xCoord	yCoord	zCoord	ProjAngle	SMode	MaxTimes	Mode	Fade	Options
#----------------  	-----   ------  -----	------	------	------	---------	-----	--------	----	----	-------
#PlayNode3DSound	28000	1		223		1.0		0.0		0.0		1.0			1		-1			1		1		0
#
#
# HotSpotQTMidi
# Play a QuickTime sound-only file when a hot spot is clicked. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds? NOT YET SUPPORTED]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# HotSpotQTMidi		NodeID	HotSpotID	ObjID	MaxTimes	Local	xCoord	yCoord	zCoord	ProjAngle	Mode	Fade	Options		File
#-----------		------  ---------	-----	--------	-----	------	------	------	---------	----	----	-------		----
#HotSpotQTMidi		1		50			145		-1			1		1.0		0.0		0.0		180.0		0		0		2			ROCKET.MOV
#
#
#
# HotSpotSound
# Play a sound when a hot spot is clicked. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing);
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# HotSpotSound		ResID	NodeID	HotSpotID	ObjID	MaxTimes	Mode	Fade	Options
#-------------   	-----   ------  ---------	-----	--------	----	----	-------
HotSpotSound		128		1		10			100		-1			1		1		1
HotSpotSound		129		1		30			101		-1			1		1		1
HotSpotSound		130		1		40			102		-1			1		1		1
#HotSpotSound		28000	1		50			103		-1			1		1		2
#HotSpotSound		132		1		60			104		-1			0		1		2
#
#
#HotSpotSound		128		1		61			105		-1			1		1		0
#HotSpotSound		129		2		169			106		-1			1		1		0
#HotSpotSound		130		2		114			107		-1			1		1		0
#
#
# HotSpot3DSound
# Play a 3D sound when a hot spot is clicked. A command line has this format:
# [SMode: 	0 == unfiltered; 1 == localized; 2 == ambient; 3 == binaural]
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing);
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# HotSpot3DSound	ResID	NodeID	HotSpotID	ObjID	xCoord	yCoord	zCoord	ProjAngle	SMode	MaxTimes	Mode	Fade	Options
#---------------   	-----   ------  ---------	-----	------	------	------	---------	-----	--------	----	----	-------
#HotSpot3DSound		28000	1		50			222		1.0		0.0		0.0		180.0		1		-1			1		1		1
HotSpot3DSound		4748	1		60			133		-2.0	0.0		-2.0	90.0		1		-1			0		1		2
#
#
# HotSpotMovie
# Play a movie when a hot spot is clicked. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Options: 0 == play entire movie now (whether or not it's already playing);
#			1 == restart movie;
#			2 == toggle current state;
#			3 == start movie if not playing, otherwise ignore;
#			4 == stop movie]
#
# HotSpotMovie	ObjID	NodeID	HotSpotID	Pan		Tilt	Scale	Width	KeyRed	KeyGreen	KeyBlue		UseBuffer	UseCenter	UseKey	UseHide	UseDir	UseVol	VolAngle	MaxTimes	Mode	Options		Name
#-------------  -----	------ 	---------	---		----	-----	-----	------	--------	-------		---------	---------	------	-------	------	------	--------	--------	----	-------		----
HotSpotMovie	213		1		50			0.0		0.0		1.0		40.0	0		0			0			1			1			1		0		1		1		90.0		-1			0		3			RailwayRot.mov
#HotSpotMovie	277		8		131			7.0		30.0	1.0		40.0	0		0			0			1			1			1		0		1		1		90.0		-1			1		3			myMovie
#
#
# TriggerHotSpot
# Trigger a particular hot spot. A command line has this format:
# [Options are not yet defined.]
#
# TriggerHotSpot	HotSpotID	Options
#---------------    ---------	-------
#TriggerHotSpot		40			0
#
#
# PlayQTMidi
# Play a QuickTime sound-only file immediately. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds? NOT YET SUPPORTED]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlayQTMidi	ObjID	Local	xCoord	yCoord	zCoord	ProjAngle	Mode	Fade	Options		File
#-----------	-----	-----	------	------	------	---------	----	----	-------		----
#PlayQTMidi		144		1		1.0		0.0		0.0		180.0		1		0		2			mission2.midMovie
#
#
# PlaySndResource
# PlaySound is an obsolete synonym
# Play an ambient sound resource immediately. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlaySndResource		ResID	ObjID	Mode	Fade	Options
#----------------		-----	-----	----	----	-------
#PlaySndResource		25876	144		1		0		0
#
#
# PlaySoundFile
# Play an ambient sound file immediately. A command line has this format:
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# PlaySoundFile			ObjID	Mode	Fade	Options		File
#--------------			-----	----	----	-------		----
#PlaySoundFile			145		1		0		0			foo
#
#
# Play3DSndResource
# Play a sound at a specific location in a panorama. A command line has this format:
# [SMode: 	0 == unfiltered; 1 == localized; 2 == ambient; 3 == binaural]
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# Play3DSndResource	ResID	ObjID	xCoord	yCoord	zCoord	ProjAngle	SMode	Mode	Fade	Options
#------------   -----   -----	------	------	------	---------	-----	----	----	-------
#Play3DSndResource	25753	128		0.0		0.0		-2.0	1.0			1		1		1		1
#Play3DSndResource	7074	555		1.0		0.0		0.0		1.0			1		1		1		1
#Play3DSndResource	25876	130		1.0		0.0		1.0		1.0			1		0		1		2
#Play3DSndResource	4680	131		1.0		0.0		-1.0	1.0			1		0		1		0
#Play3DSndResource	4748	133		0.0		0.0		-1.0	1.0			1		0		0		2
#Play3DSndResource	133		129		1.0		0.0		0.0		1.0			1		0		1		2
#Play3DSndResource	134		130		5.0		0.0		0.0		1.0			1		0		1		2
#
#
# Play3DSndResourceAngle
# Play a sound at a specific location in a panorama, specified using angles. A command line has this format:
# [SMode: 	0 == unfiltered; 1 == localized; 2 == ambient; 3 == binaural]
# [Mode: 	0 == loop; 1 == once]
# [Fade: 	Do we fade out gradually when stopping sounds?]
# [Options: 0 == play entire sound now (whether or not it's already playing)
#			1 == restart sound;
#			2 == toggle current state;
#			3 == start sound if not playing, otherwise ignore;
#			4 == stop sound]
#
# Play3DSndResourceAngle	ResID	ObjID	Pan		Tilt	Distance	ProjAngle	SMode	Mode	Fade	Options
#-----------------  -----   -----	---     ----	--------	---------	-----	----	----	-------
#Play3DSndResourceAngle	9014	128		0.0		0.0		3.0			1.0			1		1		1		0
#Play3DSndResourceAngle	133		129		-90.0	0.0		1.0			1.0			1		1		1		0
#
#
# ShowPicture
# Overlay a picture in the front buffer. A command line has this format:
# [if Height and Width == 32000, picture occupies entire movie box]
# [PegSide: a bit field: 12 = bottom right; 3 = upper left]
# [Options: 0 == show picture now (whether or not it's already displayed)
#			1 == show picture;
#			2 == toggle current state;
#			3 == show picture;
#			4 == hide picture]
#
# ShowPicture	ResID	ObjID	Height	Width	PegSide		Offset	Options
#------------   -----   -----  ------  -----	-------		------	-------
#ShowPicture	128		111		32		32		12			5		0
#ShowPicture	128		333		32		32		12			5		0
#
#
# ShowNodePicture
# Overlay a picture in the front buffer in a particular node. A command line has this format:
# [if Height and Width == -1, picture occupies entire movie box]
# [PegSide: a bit field: 12 = bottom right; 3 = upper left]
# [Options: 0 == show picture now (whether or not it's already displayed)
#			1 == show picture;
#			2 == toggle current state;
#			3 == show picture;
#			4 == hide picture]
#
# ShowNodePicture	ResID	ObjID	NodeID	Height	Width	PegSide		Offset	Options
#----------------   -----   -----	------  ------  -----	-------		------	-------
ShowNodePicture		128		333		-1		32		32		12			5		0
#ShowNodePicture	128		444		2		32		32		12			5		0
#
#
# AtTime
# Execute a command at a given time. A command line has this format:
# [Mode: 0 == absolute; 1 == node relative; 2 == install-time relative]
# [Options: 0 == let unexpired commands remain enlisted; 1 == kill unexpired commands]
#
# AtTime	Ticks	Mode	NodeID	Repeat	Period	MaxTimes	Options		Command line
#-------    -----	----	------	------	------	--------	-------		------------
#AtTime		200		1		12		0		0		10			0			PlaySndResource#28000#234#0#1#0		
#AtTime		200		1		12		0		0		10			0			Set3DObjRotState#200#1#0		
#AtTime		300		1		12		1		75		10			0			Set3DObjTexture#200#0#0#QD3D	
#AtTime		350		1		12		1		75		10			0			Set3DObjTexture#200#0#0#tiles	
#AtTime		1200	0		1		0		0		10			0			OverlayPICT#128#1#32#32#12#5#1
#AtTime		600		1		1		0		0		10			0			SetBarState#0#0
#AtTime		300		1		1		1		1		-1			0			SetPanAngle#2.0#1
#AtTime		600		1		2		1		300		10			0			Beep
#AtTime		600		0		1		1		1		10			0			MoveScreen#1.0#0.0#0
#AtTime		600		1		2		0		0		10			0			GoToNodeID#1#0
AtTime		300		1		1		0		0		10			0			ProcessScript#0#earthquake.scr
#
#
#
# AtAppLaunch
# Execute a command when the application is launched. A command line has this format:
# [Options are not yet defined.]
#
# AtAppLaunch	Options		Command line
#------------   -------		------------
#AtAppLaunch		0			SetSwingState#1#0
#
#
# AtAppQuit
# Execute a command when the application is quit. A command line has this format:
# [Options are not yet defined.]
#
# AtAppQuit		Options		Command line
#---------  	-------		------------
#AtAppQuit		0			Beep
#
#
# AtMouseOverHSID
# Execute a command when the mouse is over a hot spot, targeted by ID. A command line has this format:
# [Options are the hot spot action selectors (see VRPWQTVR2.0 p. 1-39).]
#
# AtMouseOverHSID		NodeID	HotSpotID	MaxTimes	Options		Command line
#----------------	  	------	---------	--------	-------		------------
#AtMouseOverHSID		1		10			-1			0			Beep
#AtMouseOverHSID		7		24			1			0			DoBoth#0#Set3DObjTexture%200%1%0%Seen#AtMouseOverHS%7%24%1%0%Set3DObjTexture&200&1&0&JumpRope
#AtMouseOverHSID		7		24			1			0			Set3DObjTexture#200#1#0#Seen
#AtMouseOverHSID		7		24			1			0			AtMouseOverHS#7#24#1#0#Set3DObjTexture%200%1%0%JumpRope
#AtMouseOverHSID		8		126			-1			0			PlaySndResource#14615#235#0#0#0
#
#
# AtMouseOverHSType
# Execute a command when the mouse is over a hot spot, targeted by type. A command line has this format:
# [Options are the hot spot action selectors (see VRPWQTVR2.0 p. 1-39).]
#
# AtMouseOverHSType		NodeID	HotSpotType	MaxTimes	Options		Command line
#------------------	  	------	---------	--------	-------		------------
#AtMouseOverHSType		1		undf		-1			0			Beep
#AtMouseOverHSType		7		undf		1			0			DoBoth#0#Set3DObjTexture%200%1%0%Seen#AtMouseOverHS%7%24%1%0%Set3DObjTexture&200&1&0&JumpRope
#
#
# AtClickHS
# Execute a command when the mouse is clicked on a hot spot. A command line has this format:
# [Options: 1 == cancel any existing link; 0 == follow any existing link]
#
# AtClickHS			NodeID	HotSpotID	MaxTimes	Options		Command line
#----------		  	------	---------	--------	-------		------------
AtClickHS			1		40			-1			0			ShowPicture#128#333#32#32#12#5#2
#AtClickHS			1		54			-1			0			PlaySndResource#19699#236#1#0#0
AtClickHS			1		54			-1			0			AtTime#30#1#49#0#0#-1#0#PlaySndResource%20787%237%1%0%0
AtClickHS			1		54			-1			0			AtTime#100#1#49#0#0#-1#0#TriggerHotSpot%72%0
#AtClickHS			8		131			-1			0			PlayMovie#222#0.0#10.0#1.0#40.0#0000#0000#0000#1#1#1#0#1#1#90.0#0#JumpRope
#AtClickHS			1		50			-1			0			SetTiltLimits#5.0#-5.0#1
#AtClickHS			1		40			-1			0			SetPanAngle#50.0#1
#AtClickHS			1		50			-1			0			SetHotSpotState#50#0#0
#AtClickHS			1		50			-1			0			PlayMovie#100#0.0#10.0#1.0#40.0#0000#0000#0000#0#1#0#0#1#1#90.0#0#cran
#AtClickHS			1		50			-1			0			AtTime#300#2#1#1#60#0#Beep
#AtClickHS			1		50			-1			0			Play3DSndResource#134#-90.0#0.0#1.0#1.0#1#0
#AtClickHS			1		50			-1			0			AtTime#30#2#1#1#5#-1#0#Set3DObjLocation%128%0.0%0.0%0.2%1
#AtClickHS			1		60			-1			0			Set3DObjVisState#128#2#0
#AtClickHS			1		50			-1			0			AtTime#0#1#1#1#30#-1#0#ProcessScript%0%myNewScript
#AtClickHS			1		50			-1			0			DoBoth#0#Set3DObjRotState%129%2%0#Set3DObjRotState%128%2%0
#AtClickHS			1		60			-1			0			Play3DSndResource#4748#133#0.0#0.0#-1.0#1.0#1#0#0#2
#
#
# AtNodeEntry
# Execute a command when the specified node is entered. A command line has this format:
# [If NodeID == -1, any entered node is okay.]
# [Options are not yet defined.]
#
# AtNodeEntry	NodeID	MaxTimes	Options		Command line
#------------  	------	--------	--------	------------
AtNodeEntry		49		-1			0			PlaySndResource#19699#238#1#1#0
AtNodeEntry		52		-1			0			PlaySndResource#28000#239#0#1#0
AtNodeEntry		8		1			0			SetPanTiltZoom#55.0#10.0#15.0#0
AtNodeEntry		8		10			0			PlaySndResource#22212#240#0#0#0
#AtNodeEntry	-1		-1			0			AtPanAngle#-1#80.0#90.0#3#0#PlaySndResource%30600%334%0%1%0
#AtNodeEntry	2		10			0			AtTime#600#1#2#0#0#-1#0#GoToNodeID%1%0
#AtNodeEntry		12		2			0			PlaySndResource#1521#241#0#1#0
AtNodeEntry		7		-1			0			Set3DObjVisState#200#1#0
AtNodeEntry		7		-1			0			Set3DObjTexture#200#0#0#ScreenPICT
AtNodeEntry		7		-1			0			Set3DObjVisState#200#1#0
AtNodeEntry		7		-1			0			AtClickHS#7#24#1#1#ProcessScript%0%tv1stclick.scr
AtNodeEntry		12		-1			0			Set3DObjVisState#203#1#0
#AtNodeEntry		12		-1			0			AtTime#200#1#12#0#0#10#0#PlaySndResource%28000%333%0%0%0	
AtNodeEntry		8		-1			0			Set3DObjVisState#504#1#0
#
#
#
#
## AtNodeExit
# Execute a command when the specified node is left (AND BEFORE THE NEW NODE IS ENTERED!). A command line has this format:
# [If FromID == -1, any exited node is okay; if ToID == -1, any entered node is okay.]
# [Therefore, if FromID == ToID == -1, the command is executed for any node transition.]
# [Options: 1 == cancel the node exit; 0 == exit the node]
#
# AtNodeExit	FromID	ToID	MaxTimes	Options		Command line
#------------  	------	----	--------	-------		------------
AtNodeExit		49		2		-1			0			AtNodeEntry#2#1#0#SetPanAngle%180.0%0
AtNodeExit		49		2		-1			0			AtNodeEntry#2#1#0#AtTime%60%2%2%1%1%9%0%SetPanAngle&-10.0&1
AtNodeExit		3		2		-1			0			AtNodeEntry#2#1#0#SetPanAngle%270.0%0
#AtNodeExit		2		3		1			0			PlaySndResource#13212#234#0#0#0
#AtNodeExit		2		3		1			0			PlaySndResource#11823#234#0#0#0
#AtNodeExit		2		3		1			0			PlaySndResource#14151#234#0#0#0
#AtNodeExit		2		3		1			0			PlaySndResource#13514#234#0#0#0
#AtNodeExit		2		3		1			0			PlaySndResource#8880#234#0#0#0
AtNodeExit		7		-1		-1			0			Set3DObjVisState#200#0#0
AtNodeExit		8		-1		-1			0			Set3DObjVisState#504#0#0
#
#
# AtPanAngle
# Execute a command at the specified pan angle. A command line has this format:
# [Options are not yet defined.]
#
# AtPanAngle	NodeID	minPan	maxPan	MaxTimes	Options		Command line
#-----------  	------	------	------	--------	-------		------------
#AtPanAngle		1		20.0	90.0	1			0			Beep
#AtPanAngle		-1		80.0	90.0	-1			0			PlaySndResource#30600#234#1#1#3
#
#
# AtTiltAngle
# Execute a command at the specified tilt angle. A command line has this format:
# [Options are not yet defined.]
#
# AtTiltAngle	NodeID	minTilt		maxTilt		MaxTimes	Options		Command line
#------------ 	------	-------		-------		--------	-------		------------
#AtTiltAngle	1		-5.0		5.0			1			0			Beep
#
#
# AtZoomAngle
# Execute a command at the specified zoom angle. A command line has this format:
# [Options are not yet defined.]
#
# AtZoomAngle	NodeID	minZoom	maxZoom	MaxTimes	Options		Command line
#-----------  	------	-------	-------	--------	-------		------------
#AtZoomAngle	1		20.0	25.0	1			0			Beep
#
#
# DoBoth
# Execute both of the specified commands. A command line has this format:
# [Options are not yet defined.]
#
# DoBoth	Options		Command1			Command2
#-------  	-------		--------			--------
#DoBoth		0			Beep				Beep
#
#
# DoNothing
# Do nothing. This is useful if a command (e.g., an "At" command) has side effects caused by an Option parameter.
# A command line has this format:
# [Options are not yet defined.]
#
# DoNothing		Options
#----------  	-------
#DoNothing		0
#
#
# Beep
# Play the system alert sound. A command line has this format:
# [Options are not yet defined.]
#
# Beep
#--------
#Beep
#
#
# PlayMovie
# Play a QuickTime movie. A command line has this format:
# NOTE: If Width == 0, the movie has no video (it's a sound track only).
# [Mode: 	0 == loop; 1 == once]
# [Options: 0 == play entire movie now (whether or not it's already playing)
#			1 == restart movie;
#			2 == toggle current state;
#			3 == start movie if not playing, otherwise ignore;
#			4 == stop movie]
#
# PlayMovie	ObjID	Pan		Tilt	Scale	Width	KeyRed	KeyGreen	KeyBlue		UseBuffer	UseCenter	UseKey	UseHide	UseDir	UseVol	VolAngle	Mode	Options		Name
#----------	-----	---		----	-----	-----	------	--------	-------		---------	---------	------	-------	------	------	--------	----	-------		----
#PlayMovie	212		0.0		0.0		1.0		40.0	0000	0000		0000		0			1			1		0		1		1		90.0		0		3			JumpRopeRot
#
#
# PlayTransMovie
# Play a QuickTime movie as a transition between nodes. A command line has this format:
# [Options: 0 == play entire movie;
#			1 == stop movie when mouse is clicked]
#
# PlayTransMovie	Options		Name
#---------------	-------		----
#PlayTransMovie		0			JumpRopeRot
#
#
# PlayTransEffect
# Play a QuickTime video effect as a transition between nodes. A command line has this format:
#
# PlayTransEffect	FromID	ToID	MaxTimes	EffectType	EffectNum	Options
#---------------	------	----	--------	---------	---------	-------
#PlayTransEffect	1		2		-1			smpt		74			0			
#
# MoveScreen
# Move the screen of a QuickTime movie. A command line has this format:
# [Options are not yet defined.]
#
# MoveScreen	HorizDelta	VertDelta	Options
#-----------	----------  ---------   -------
#
#
# ProcessScript
# Open and process a script file. A command line has this format:
# [Options are not yet defined.]
#
# ProcessScript		Options		FileName
#--------------		-------		--------
#ProcessScript		0			myNewScript
#
#
# *****************************************************************************************
# QuickDraw 3D Support
# *****************************************************************************************
#
# CreateBox
# Create a box at a specific location in a panorama. A command line has this format:
#
# CreateBox		ObjID	xCoord	yCoord	zCoord	xSize	ySize	zSize	Options
#----------		-----	------	------	------	-----	-----	-----	-------
#CreateBox		200		0.0		0.0		5.0		1.0		1.0		1.0		0
#
#
# CreateCone
# Create a cone at a specific location in a panorama. A command line has this format:
#
# CreateCone	ObjID	xCoord	yCoord	zCoord	majRadius	minRadius	Height		Options
#----------		-----	------	------	------	---------	---------	------		-------
#CreateCone		201		4.7		-5.0	18.0	5.0			5.0			5.0			0
#
#
# CreateCylinder
# Create a cylinder at a specific location in a panorama. A command line has this format:
#
# CreateCylinder	ObjID	xCoord	yCoord	zCoord	majRadius	minRadius	Height		Options
#---------------	-----	------	------	------	---------	---------	------		-------
#CreateCylinder		202		4.7		-5.0	18.0	5.0			5.0			5.0			0
#
#
# CreateEllipsoid
# Create an ellipsoid at a specific location in a panorama. A command line has this format:
#
# CreateEllipsoid	ObjID	xCoord	yCoord	zCoord	majRadius	minRadius	Height		Options
#---------------	-----	------	------	------	---------	---------	------		-------
CreateEllipsoid		203		4.7		10.0	28.0	2.0			2.0			2.0			0
#
#
# CreateTorus
# Create a torus at a specific location in a panorama. A command line has this format:
#
# CreateTorus		ObjID	xCoord	yCoord	zCoord	majRadius	minRadius	Height		Ratio	Options
#---------------	-----	------	------	------	---------	---------	------		-----	-------
#CreateTorus		204		1.0		0.0		2.0		0.5			0.5			0.3			1.0		0
#
#
# CreateRectangle
# Create a rectangle at a specific location in a panorama. A command line has this format:
#
# CreateRectangle	ObjID	xO		yO		zO		x1		y1		z1		x2		y2		z2		x3		y3		z3		x4		y4		z4		Options
#----------------	-----	--		--		--		--		--		--		--		--		--		--		--		--		--		--		--		-------
CreateRectangle		200		4.7		-5.0	18.0	-2.0	-1.6	0.0		-2.0	1.6		0.0		2.0		1.6		-1.0	2.0		-1.6	-1.0	0	
CreateRectangle		504		0.0		13.9	23.0	-2.7	-3.3	-3.8	-2.7	3.3		-3.8	2.7		3.3		-0.3	2.7		-3.3	-0.3	0	
#
#
# Open3DMFFile
# Load a 3DMF file at a specific location in a panorama. A command line has this format:
#
# Open3DMFFile	ObjID	xCoord	yCoord	zCoord	Options		File
#-------------  -----	------	------	------	-------		----
#Open3DMFFile	150		10.0	0.0		5.0		0			car
#Open3DMFFile	150		-10.0	0.0		25.0		0		Teapot
#
#
# Set3DObjColor
# Set the color of a 3D object. A command line has this format:
#
# Set3DObjColor		ObjID	Red		Green	Blue	Options		
#--------------		-----	---		-----	----	-------		
Set3DObjColor		204		1.0		0.0		1.0		0	
#
#
# Set3DObjTransp
# Set the transparency level of a 3D object. A command line has this format:
#
# Set3DObjTransp	ObjID	Red		Green	Blue	Options		
#---------------	-----	---		-----	----	-------		
Set3DObjTransp		204		1.0		0.0		1.0		0	
#
#
# Set3DObjInterp
# Set the interpolation style of a 3D object. A command line has this format:
# {Style: 0 == none; 1 == vertex; 2 == pixel]
#
# Set3DObjInterp		ObjID	Style	Options		
#---------------		-----	-----	-------		
Set3DObjInterp			204		1		0	
#
#
# Set3DObjBackface
# Set the backfacing style of a 3D object. A command line has this format:
# {Style: 0 == both; 1 == remove; 2 == flip]
#
# Set3DObjBackface		ObjID	Style	Options		
#-----------------		-----	-----	-------		
#Set3DObjBackface		204		1		0	
#
#
# Set3DObjFill
# Set the fill style of a 3D object. A command line has this format:
# {Style: 0 == filled; 1 == edges; 2 == points]
#
# Set3DObjFill		ObjID	Style	Options		
#-------------		-----	-----	-------		
Set3DObjFill		204		0		0	
#
#
# Set3DObjLocation
# Set the location of a 3D object. A command line has this format:
# [Options: 0 == location is absolute; 1 == location is relative]
#
# Set3DObjLocation		ObjID	xCoord	yCoord	zCoord	Options		
#-----------------		-----	------	------	------	-------		
#Set3DObjLocation		0			
#
#
# Set3DObjRotation
# Set the rotation of a 3D object. A command line has this format:
# [Options: 0 == rotation is absolute; 1 == rotation is relative]
#
#
# Set3DObjRotation		ObjID	xRotat	yRotat	zRotat	Options		
#-----------------		-----	------	------	------	-------		
#Set3DObjRotation		200		8.0		8.0		8.0		1	
#Set3DObjRotation		128		5.0		5.0		5.0		1	
Set3DObjRotation		203		0.0		5.0		0.0		0	
#
#
# Set3DObjRotState
# Set the rotation of a 3D object on or off. A command line has this format:
# [State: 0 == stop; 1 == start; 2 == toggle current state]
#
# Set3DObjRotState		ObjID	State	Options	
#-----------------		-----	-----   -------	
Set3DObjRotState		203		1		0		
#
#
# Set3DObjVisState
# Set the visibility of a 3D object on or off. A command line has this format:
# [State: 0 == hide; 1 == show; 2 == toggle current state]
#
# Set3DObjVisState		ObjID	State	Options	
#-----------------		-----	-----   -------	
Set3DObjVisState		200		0		0				
Set3DObjVisState		203		0		0				
Set3DObjVisState		504		0		0				
#
#
# Set3DObjTexture
# Set the texture of a 3D object. A command line has this format:
# [Movie: 0 == no; 1 == yes]
#
# Set3DObjTexture		ObjID	Movie	Options		Pathname
#----------------		-----	-----	-------		--------
#Set3DObjTexture		200		1		0			Jetsons3.mov	
Set3DObjTexture			203		0		0			world	
Set3DObjTexture			504		0		0			monroePICT	
#Set3DObjTexture		128		0		0			tiles	
#Set3DObjTexture		128		1		0			JumpRope	
#
#
# Set3DSndLocation
# Set the location of a localized sound. A command line has this format:
# [Options: 0 == location is absolute; 1 == location is relative]
#
# Set3DSndLocation		ObjID	xCoord	yCoord	zCoord	Options		
#-----------------		-----	------	------	------	-------		
#
#
# SetVariable
# Set the value of a variable. A command line has this format:
# [VarName is any alphabetic string, up to 32 characters]
# [VarValue is any 32-bit signed integer]
# [if Options == 0, value is absolute; if Options == 1, value is relative]
#
# SetVariable		VarName		VarValue	Options		
#------------		-------		--------	-------	
#
#
# If
# Test the value of a variable and execute a command if necessary. A command line has this format:
# [VarName is any alphabetic string, up to 32 characters]
# [Op is: =, ==, !=, <, <=, >, >=]
# [VarValue is any 32-bit signed integer]
# [Options are not yet defined.]
#
# If	VarName		Op	VarValue	Options		Command	
#---	-------		--	--------	-------		-------
#
#